package stores

import (
	"github.com/garyburd/redigo/redis"
	"github.com/spf13/viper"
	"time"
)

var (
	// 定义常量
	RedisClient *redis.Pool
)

func InitRedis() {
	// 建立连接池
	RedisClient = &redis.Pool{
		// 从配置文件获取maxidle以及maxactive，取不到则用后面的默认值
		MaxIdle:     viper.GetInt("redis.maxidle"),
		MaxActive:   viper.GetInt("redis.maxactive"),
		IdleTimeout: 180 * time.Second,
		Dial: func() (redis.Conn, error) {
			c, err := redis.Dial(viper.GetString("redis.network"), viper.GetString("redis.address"))
			if err != nil {
				return nil, err
			}
			// 选择db
			//c.Do("SELECT", REDIS_DB)
			return c, nil
		},
	}
	//RedisClient = &redis.Pool{
	//	// 从配置文件获取maxidle以及maxactive，取不到则用后面的默认值
	//	MaxIdle:     1,
	//	MaxActive:   10,
	//	IdleTimeout: 180 * time.Second,
	//	Dial: func() (redis.Conn, error) {
	//		c, err := redis.Dial("tcp", "127.0.0.1:10010")
	//		if err != nil {
	//			return nil, err
	//		}
	//		// 选择db
	//		//c.Do("SELECT", REDIS_DB)
	//		return c, nil
	//	},
	//}
}
func GetRedisCoon() (redis.Conn) {
	return RedisClient.Get()
}
